In communication systems data is transferred between transmitters and receivers. The data may be transmitted from one system to another, from one processor to another or from one functional unit to another. Data may be transmitted over multiple channels (lanes) between the transmitter and receiver. Signals being transmitted between transmitter and receiver over multiple channels may lose time reference with respect to each other (become skewed). The skew is likely introduced because of mismatches in the channels (e.g., length, impedance). For example, the physical interconnects forming multiple channels between transmitter and receiver on boards or integrated circuits (ICs) may follow different paths and/or have different lengths.
FIG. 1 illustrates an example multi-lane (three) connection 100 between a transmitter 110 and a receiver 120. The three lanes (channels) 100 travel different paths and accordingly have different lengths. As might be expected the timing associated with data (e.g., I/O signals) transmitted over the lanes 100 would vary and the signals would be skewed. As computing (e.g., I/O) speeds continue to increase, the trace mismatches between various lanes 100 result in an increasing number of bit cells worth of skew and misalignment.
One way to correct the skew would be with trace-matching of the interconnects. However, trace matching for multiple lanes is tedious, and at times unfeasible, given routing congestions and obstructions that may be present with board and/or chip design.
Deskewing is an operation performed at the receiver 120 for negating/canceling out skew between the communications lanes. Deskewing enables data streams to regain time/phase relationships with respect to each other. Communication systems employing multiple channels carrying data with forwarded/embedded clock information must have some means of deskewing the received information before further data processing can be done. As the transmission frequency increases and/or lane mismatches increase, the total amount of skew increases.